package com.poetry.service;

import java.util.List;

import com.poetry.model.Poem;
import com.poetry.model.User;
import com.poetry.model.dto.UserDTO;

public interface UserService {
    User findById(Long id);
    User findByUsername(String username);
    User register(UserDTO userDTO);
    User updateProfile(Long id, UserDTO userDTO);
    void updatePassword(Long id, String currentPassword, String newPassword);
    List<Poem> findPoemsByUserId(Long userId);
    List<Poem> findLikedPoemsByUserId(Long userId);
    List<Poem> findBookmarkedPoemsByUserId(Long userId);
    void follow(Long followerId, Long followingId);
    void unfollow(Long followerId, Long followingId);
    boolean isFollowing(Long followerId, Long followingId);
    void delete(Long id);
} 